اگر شما هم جزو دنبالکنندگان اخبار بیت کوین و سایر ارزهای دیجیتال بوده باشید، بیتردید عبارتهایی نظیر «فورک» (fork)، «سافت فورک» (soft fork) و «هارد فورک» (hard fork) به گوشتان خورده است. فورک در دنیا ارزهای رمزنگاری شده به معنای اتفاقی است که به خاطر حمایت تعدادی از کاربران با برخی مقررات مربوط به آن ارز دیجیتال روی داده است.
فورک در انگلیسی علاوه بر «چنگال» به معنای «چند شاخه» نیز هست. به زبان ساده، فورک وقتی رویمیدهد که یک بلاک چین از یک نقطه به بعد به دو مسیر تقسیم میشود. این تقسیم شدن به دو شاخه میتواند با توجه به سابقه تراکنشهای شبکه و یا مقررات جدیدی که شرایط معتبر بودن یک تراکنش را تعیین میکند باشد. در نتیجه، کسانی که از بلاک چین استفاده میکنند باید یکی از این دو مسیر را انتخاب کنند.
از آنجا که دانش ارزهای رمزنگاری شده به نسبت جدید به شمار میرود، تاکنون انواع مختلفی از فورکها تعریف شدهاند. برخی از این فورکها به صورت خود به خودی حل میشوند و برخی دیگر نیز به خاطر حمایت عدهای از کاربران ادامه مییابد و به همین دلیل، شبکه برای همیشه به دو شاخه و در نتیجه دو تاریخچه متفاوت بلاک چین تقسیم میشود. این وضعیت منجر به ایجاد یک ارز جدید از دل ارز پیشین و حضور در کنار آن میشود.
فورک در بیت کوین (یا هر نوع ارز دیجیتال) سبب چند شاخه شدن آن میشود.
پدیده فورک نگرانیهای زیادی را به ویژه در میان کاربران و کسانی که از ارزهای دیجیتال استفاده میکنند ایجاد میکند. به همین دلیل آشنایی با جزییات این الگو میتواند سودمند باشد. در ادامه به بررسی فورک و انواع آن به زبان ساده میپردازیم.
واکاوی بیشتر فورک بیت کوین
پیش از ادامه بحث ابتدا باید به این نکته توجه داشته باشید که فورک بیت کوین پدیده نادری نیست و به صورت مرتب با آن روبرو هستیم.
فورک در واقع به خاطر ماهیت بیت کوین که همان غیرمتمرکز بودن سیستم و نیاز به توافق عمومی است روی میدهد. هر گاه دو استخراجکننده به صورت تقریبا همزمان به یک بلوک دست مییابند، فورک روی میدهد. حالا فرض کنید یکی از ماینرها بلوک خود را تکمیل کرده و به این ترتیب آن را به زنجیرهای بلندتر تبدیل میکند، ولی ماینر دیگر این کار را انجام نمیدهد. در این صورت میگویند بلوک دوم «یتیم» (orphaned) شده و در واقع دیگر جایی در شبکه ندارد. به این ترتیب یک فورک ایجاد میشود.
اما این طور نیست که یک فورک همیشه به صورت سهوی و غیرآگاهانه ایجاد شود. گاهی اوقات یک فورک به شکلی عمدی وارد شبکه میشود. این وضعیت وقتی روی میدهد که توسعهدهندگان تصمیم بگیرند مقرراتی را که نرمافزار از آن برای تعیین اعتبار و یا عدم اعتبار یک تراکنش استفاده میکند تغییر دهند.
وقتی یک بلوک حاوی تراکنشهای غیرمعتبر باشد، شبکه توجهی به آن نمیکند و ماینرهایی که آن بلوک را یافتهاند از جایزه آن محروم میشوند. به همین دلیل است که استخراجکنندگان همیشه به دنبال یافتن بلوکهای معتبر هستند.
در ادامه به بررسی چندین نوع فورک و ویژگیهای هر یک از آنها میپردازیم. اگر هم با بیت کوین آشنایی چندانی ندارید، شاید بهتر باشد ابتدا مطلب «بیت کوین چیست؟» را مطالعه کنید.
هارد فورک (hard fork)
هارد فورک یک بهروزرسانی (آپگرید) نرمافزاری است که مقررات جدیدی را به شبکه اعلام میکند و البته این مقررات با نرمافزار پیشین سازگار نیست. هارد فورک را میتوانیم گسترش مقررات شبکه بدانیم. برای نمونه مقررات بیت کوین میگوید که حداکثر اندازه یک بلوک حداکثر میتواند یک مگابایت باشد. حال فرض کنیم که قانون جدیدی وارد شبکه شود که این حداکثر حجم را ۲ مگابایت تعیین کند. از آنجا که این تغییر قانون دربردارنده گسترش (در این مثال خاص،گسترش حداکثر حجم فایل بلوک از۱ مگابایت به ۲ مگابایت) است، آن را هارد فورک مینامند.
با هارد فورک چه اتفاقی در شبکه میافتد؟
گرههایی که همچنان بر اساس نسخه قدیمیتر نرمافزار عمل میکنند شاهد این خواهند بود که تراکنشهای جدید غیرمعتبر هستند. به همین دلیل به سراغ زنجیرهای جدید رفته و به استخراج بلوکهای معتبر میپردازند. در واقع همه گرههای موجود در شبکه باید بر اساس مقررات جدید بهروزرسانی شوند.
بیت کوین به خاطر یک هاردفورک به دو ارز دیجیتال «بیت کوین» و «بیت کوین کش» تقسیم شد.
مشکلات ناشی از هارد فورک چیست؟
مشکل وقتی روی میدهد که گروهی از کاربران حاضر در آن شبکه بخواهند همچنان بر اساس مقررات قدیمی عمل کنند. توان پردازشی (هش ریت) موجود برای زنجیره قدیمی اهمیتی ندارد. آنچه مهم است دادههای آن (یا بهتر بگوییم، مجموعه مقررات آن) است که همچنان ارزشمند شمرده میشود. این بدان معناس که ماینرها همچنان میتوانند در بوکهای آن به استخراج پرداخته و توسعهدهندگان نیز از آن حمایت خواهند کرد.
هارد فورک DAO اتریوم نمونه خوبی در این زمینه است. در یک مقطع زمانی، کاربران این ارز دیجیتال بر سر مقررات آن دچار دو دستگی شدند. اکنون دو بلاک چین برای اتریوم داریم و با «اتریوم» و «اتریوم کلاسیک» روبرو هستیم و هر کدام یک ارز دیجیتال مجزا به شمار میرود.
سافت فورک (soft fork)
سافت فورک (بر خلاف هارد فورک) با گذشته سازگار است. برای نمونه باز هم به مثالی که برای سافت فورک زدیم برمیگردیم. حداکثر حجم هر بلوک بیت کوین ۱ مگابایت است. حال فرض کنید که یک قانون جدید وضع میشود که میگوید هر بلوک میتواند حداکثر ۵۰۰ کیلوبایت (نیم مگابایت) باشد.
با سافت فورک چه اتفاقی در شبکه میافتد؟
از نظر گرههایی که هنوز بهروزرسانی نشدهاند، تراکنشهای جدید هنوز معتبر هستند، چون حداکثر حجم بلوکهای جدید ۵۰۰ کیلوبایت است که همچنان از ۱ مگابایت قبلی کمتر است. با این وجود اگر گروههای غیربهروزرسانیشده همچنان به استخراج ادامه دهند، بلوکهایی که استخراج میکنند توسط گرههای بهروزرسانی شده رد میشود. به همین دلیل است که برای پدیده سافت فورک نیاز به دستیابی به اکثریت در توان پردازشی شبکه خواهد بود.
مشکلات ناشی از سافت فورک چیست؟
اگر یک سافت فورک فقط توسط اقلیتی در شبکه مورد حمایت قرار گیرد (یعنی اقلیتی از کاربران شبکه بتوانند توان پردازشی خود را در اختیار آن قرار دهند)، کوتاهترین زنجیره شده و توسط شبکه یتیم (orphaned) میشود. یا اینکه میتواند همانند یک هارد فورک عمل کرده و یک زنجیره را جدا کند.
سافت فورک معمولا برای بهروزرسانی بلاک چینهای بیت کوین مورد استفاده قرار گرفتهاند، زیرا گفته میشود مخاطره چندانی (بابت دو تکه شدن شبکه) به همراه ندارند.
سافت فورک فعال شده توسط کاربر (user-activated soft fork)
«سافت فورک فعال شده توسط کاربر» (UASF) به معنای تغییر مقررات شبکه، آن هم بدون حمایت کاربراتی که توان پردازشی آن را در دست دارند است. برای اینکه یک «سافت فورک فعال شده توسط کاربر» ایجاد شود، لازم نیست منتظر موافقت اکثریت کسانی که توان رایانشی شبکه را در اختیار دارند باشیم، میتوان از توان کیفهای دیجیتال نگهداری ارز دیجیتال و صرافیهایی که گرههای کامل (full nodes) را در دست دارند استفاده کرد. گفتنی است گرهّای کامل در بیت کوین با وجود اینکه گره ماینینگ نیستند، وظیفه تایید بلوکها را بر عهده دارند.
با سافت فورک فعال شده توسط کاربر چه اتفاقی در شبکه میافتد؟
اکثریت صرافیها باید پیش از نوشته شدن این تغییر در نسخهای جدید از کدهای برنامه، از آن حمایت کنند. پس از آن، نرمافزاری جدید بر روی گرهها نصب میشود. برای اجرای سافت فورک به این نرمافزار نیازاست.
مشکلات ناشی از سافت فورک فعال شده توسط کاربر چیست؟
زمان اجرای این نوع از فورک به مراتب بیشتر از سافت فورک است و شاید یک سال و حتی بیشتر وقت ببرد. همچنین اگر اکثریت ماینرها با این حرکت هماهنگ نباشند و قوانین جدید را فعال نکنند، میتوانند از توان پردازشی بالای خود برای دو تکه کردن شبکه استفاده کنند.
نکته هم این است که پدیده «سافت فورک فعال شده توسط کاربر» نظری بوده و تاکنون هیچ نمود واقعی نداشته است.